Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔎 관련이슈
✨ 변경사항
푸시알림을 사용자가 클릭했을 때, 특정화면(우리의 경우, 해당고민의 상세페이지)으로 이동하게끔 하기 위해
필요한 데이터를 아래와 같은 형식으로 포함하여 알림을 보낸다.
이때, 값들은 전부
string 타입
이어야 함을 유의한다.데이터 페이로드가 포함된 알림 메시지 보내는 방법
이전에는 알림 대상인 모든 유저들에게 알림을 보낼때, multicast(다중전송) 방식을 사용하여
token 속성에 단일 deviceToken이 아닌, deviceTokens(배열) 값을 넣었다.
하지만 해당 multicast 방식은 위처럼 data 값을 추가하여 보낼 수는 있으나, 모든 유저에게 동일한 data 값만을 보낼 수 있는 것으로 확인하였다.
multicast 방식
때문에 개별 유저에게 본인에게 맞는 worryId값은 보내기 위해서는 multicast 방식을 사용할 수 없었고,
for 문을 돌려 개별 유저에게 알맞은 worryId값을 담아 보내는 방식을 사용.
조건에 맞는 데드라인의 고민글을 찾고, 해당 고민글의 유저를 찾고, 해당 유저의 대바이스토큰을 찾아
앞서 말한 형식과 일치하게 하여 알림을 보내야 했다.
우리가 원하는 정보를 한꺼번에 가져오기 위해, worryRepository.ts 의 findUserListByDeadline 함수를 아래와 같이 수정하였다.
(세 개의 테이블을 조인하는 개념)
prisma - deeply nested relations
알람 비활성화 상태에서 알람 비활성화하려 할 때 & 알람 활성화 상태에서 알람 활성화하려 할 때 처리
📃 참고사항
알림 클릭시 특정화면으로 이동하는 방법
https://firebase.google.com/docs/cloud-messaging/send-message?hl=ko#example-notification-click-action
우리가 구현하고자 하는 거랑은 다른것이, 우리는 특정화면으로 이동하기 위해서 필요한 데이터가 필요한 경우이고
위 링크는 특정화면으로 이동하기 위한 부가적인 데이터가 필요하지 않은 경우인거 같다.